package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.UniversityMajor;

/**
 * 大学专业关联 服务层
 * 
 * @author ruoyi
 */
public interface IUniversityMajorService
{
    /**
     * 查询大学专业关联列表
     * 
     * @param universityMajor 大学专业关联信息
     * @return 大学专业关联集合
     */
    public List<UniversityMajor> selectUniversityMajorList(UniversityMajor universityMajor);

    /**
     * 查询所有大学专业关联
     * 
     * @return 大学专业关联列表
     */
    public List<UniversityMajor> selectUniversityMajorAll();

    /**
     * 通过关联ID查询大学专业关联信息
     * 
     * @param id 关联ID
     * @return 大学专业关联对象信息
     */
    public UniversityMajor selectUniversityMajorById(Long id);

    /**
     * 通过大学ID查询专业列表
     * 
     * @param universityId 大学ID
     * @return 专业列表
     */
    public List<UniversityMajor> selectMajorsByUniversityId(Long universityId);

    /**
     * 通过专业ID查询大学列表
     * 
     * @param majorId 专业ID
     * @return 大学列表
     */
    public List<UniversityMajor> selectUniversitiesByMajorId(Long majorId);

    /**
     * 校验大学专业关联是否唯一
     * 
     * @param universityMajor 大学专业关联信息
     * @return 结果
     */
    public boolean checkUniversityMajorUnique(UniversityMajor universityMajor);

    /**
     * 新增保存大学专业关联信息
     * 
     * @param universityMajor 大学专业关联信息
     * @return 结果
     */
    public int insertUniversityMajor(UniversityMajor universityMajor);

    /**
     * 修改保存大学专业关联信息
     * 
     * @param universityMajor 大学专业关联信息
     * @return 结果
     */
    public int updateUniversityMajor(UniversityMajor universityMajor);

    /**
     * 删除大学专业关联信息
     * 
     * @param id 关联ID
     * @return 结果
     */
    public int deleteUniversityMajorById(Long id);

    /**
     * 批量删除大学专业关联信息
     * 
     * @param ids 需要删除的关联ID
     * @return 结果
     */
    public int deleteUniversityMajorByIds(Long[] ids);
} 